package chances.declare.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Proxy;

@Entity
@Table(name = "CS_DECLARE_CPCONTENT")
@Proxy(lazy = false)
public class CPContent implements Serializable{
	
	private static final long serialVersionUID = 2806227593484664906L;

	public static final Integer STATUS_WAIT_DECLARE = 0;//待申报
	public static final Integer STATUS_WAIT_ONLINE = 1;//待上线
	public static final Integer STATUS_ONLINE = 2;//已上线
	public static final Integer STATUS_DELETE = -1;//删除
	
	public static final Integer ISADOPTED_NOT = 0;//未采纳
	public static final Integer ISADOPTED_IS = 1;//已采纳
	public static final Integer ISADOPTED_AWAIT = 2;//待采纳
	public static final Integer ISADOPTED_INIT = 3;//初始状态
	
	public static final boolean TRUE = true;//是
	public static final boolean FALSE = false;//否
	
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id")
	private Long id;//id
	
	@Column(name = "orgId",nullable=false)
	private Long orgId;//组织id 标识cp     查询条件
	
	@Column(name = "code")
	private String code;//编号
	
	@Column(name = "external_code",length=32)
	private String externalCode;//外部编号
	
	@Column(name = "name",nullable=false)
	private String name;//片名   查询条件
	
	@Column(name = "actor",nullable=false)
	private String actor;//演员
	
	@Column(name = "director",nullable=false)
	private String director;//导演
	
	@Column(name = "rating")
	private String rating;//影片评分
	
	@Column(name = "years")
	private String years;//年代
	
	@Column(name = "area")
	private String area;//地区：大陆、欧美.... ENUM
	
	@Column(name = "type")
	private String type;//类型：青春偶像、校园爱情、古装剧..... 多个用逗号分隔 ENUM
	
	@Column(name = "intro",length=200)
	private String intro;//内容简介
	
	@Column(name = "content_type")
	private String contentType;//内容类型：、vod 电影；series 电视剧   ENUM     查询条件
	
	@Column(name = "episode_num")
	private Integer episodeNum;//集数
	
	@Column(name = "start_time")
	private String startTime;//跳过开头 00:00:00 格式
	
	@Column(name = "end_time")
	private String endTime;//跳过结尾  00:00:00 格式
	
	@Column(name = "remarks")
	private String remarks;//备注
	
	@Column(name = "unit_content_id")
	private Long unitContentId;//所属归并id
	
	@Column(name = "is_adopted")
	private Integer isAdopted; //采纳状态;	0:未采纳，1：已采纳，2：待采纳，3：初始状态		查询条件  ENUM
	
	@Column(name = "create_time")
	private Date createTime;//录入时间    时间段查询
	
	@Column(name = "create_oper_id")
	private Long createOperId; //创建人id
	
	@Column(name = "declare_time")
	private Date declareTime;//申报时间   时间段查询
	
	@Column(name = "plan_online_time")
	private Date planOnlineTime;//计划上线时间
	
	@Column(name = "online_time")
	private Date onlineTime;//实际上线时间   时间段查询
	
	@Column(name = "copyright_time")
	private Date copyrightTime;//授权时间
	
	@Column(name = "exclusive")
	private Boolean exclusive;//是否独家 ;	true(1):独家;false(0):非独家	  查询条件
	
	@Column(name = "status")
	private Integer status;//状态  0 待申报(可以申报,删除)， 1，待上线(可以上线，删除) ，2 已上线（可删除）  ，-1 删除  ENUM   查询条件

	@Column(name = "last_update_time")
	private Date lastUpdateTime;//最后一次的修改时间
	
	public Date getLastUpdateTime() {
		return lastUpdateTime;
	}

	public void setLastUpdateTime(Date lastUpdateTime) {
		this.lastUpdateTime = lastUpdateTime;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getOrgId() {
		return orgId;
	}

	public void setOrgId(Long orgId) {
		this.orgId = orgId;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getExternalCode() {
		return externalCode;
	}

	public void setExternalCode(String externalCode) {
		this.externalCode = externalCode;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getActor() {
		return actor;
	}

	public void setActor(String actor) {
		this.actor = actor;
	}

	public String getDirector() {
		return director;
	}

	public void setDirector(String director) {
		this.director = director;
	}

	public String getRating() {
		return rating;
	}
	public void setRating(String rating) {
		this.rating = rating;
	}

	public String getYears() {
		return years;
	}

	public void setYears(String years) {
		this.years = years;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getIntro() {
		return intro;
	}

	public void setIntro(String intro) {
		this.intro = intro;
	}

	public String getContentType() {
		return contentType;
	}

	public void setContentType(String contentType) {
		this.contentType = contentType;
	}

	public Integer getEpisodeNum() {
		return episodeNum;
	}

	public void setEpisodeNum(Integer episodeNum) {
		this.episodeNum = episodeNum;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public Long getUnitContentId() {
		return unitContentId;
	}

	public void setUnitContentId(Long unitContentId) {
		this.unitContentId = unitContentId;
	}

	public Integer getIsAdopted() {
		return isAdopted;
	}

	public void setIsAdopted(Integer isAdopted) {
		this.isAdopted = isAdopted;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Long getCreateOperId() {
		return createOperId;
	}

	public void setCreateOperId(Long createOperId) {
		this.createOperId = createOperId;
	}

	public Date getDeclareTime() {
		return declareTime;
	}

	public void setDeclareTime(Date declareTime) {
		this.declareTime = declareTime;
	}

	public Date getPlanOnlineTime() {
		return planOnlineTime;
	}

	public void setPlanOnlineTime(Date planOnlineTime) {
		this.planOnlineTime = planOnlineTime;
	}

	public Date getOnlineTime() {
		return onlineTime;
	}

	public void setOnlineTime(Date onlineTime) {
		this.onlineTime = onlineTime;
	}

	public Date getCopyrightTime() {
		return copyrightTime;
	}

	public void setCopyrightTime(Date copyrightTime) {
		this.copyrightTime = copyrightTime;
	}

	public Boolean getExclusive() {
		return exclusive;
	}

	public void setExclusive(Boolean exclusive) {
		this.exclusive = exclusive;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
}
